package ch4oopexer1;
/*一、继承性的好处：
 * ①减少了代码的冗余，提高了代码的复用性
 * ②便于功能的扩展
 * ③为之后的多态性的使用，提供了前提
 *
 * 二、继承的格式：class A extends B{}
 * 	  A:子类、派生类、subclass
 * 	  B:父类、超类、基类、superclass
 *
 * 	  2.1体现：一旦子类A继承父类B以后，子类A中就获取了父类B中声明的所有的属性和方法。
 * 		特别的，父类中声明为private的属性或方法，子类继承父类以后，仍然认为获取了父类中私有的结构。
 * 	  只有因为封装性的影响，使得子类不能直接调用父类的结构而已。
 * 	  2.2子类继承父类以后，还可以声明自己特有的属性或方法：实现功能的拓展。
 * 		 extends: 延展、拓展
 *
 * 三、Java中关于继承规定：
 * 	  1.一个类可以被多个子类继承。
 * 	  2.Java中类的单继承：一个类只能有一个父类。
 *    3.子父类是相对的概念。
 *    4.子类直接继承的父类，称为：直接父类。间接继承的父类称为：间接父类。
 *    5.子类继承父类后，就获取了直接父类及所有间接父类中的声明的属性和方法
 *
 * 四、1.如果我们没有显示的声明一个类分父类的话，则此类继承于java.lang.Object类。
 * 	  2.所有的java类（除java.lang.Object类之外）都直接或间接的继承于java.lang.Object类。
 * 	  3.意味着，所有的java类都具有java.lang.Object类声明的功能。*/
public class DogTest {
    public static void main(String[] args) {
        Dog dog = new Dog();
        dog.dName="狗";
        Dog dog2 = new Dog("大黄狗狗");
        dog.bite(dog2);
        dog.bite(new CiWei("刺猬"));
        dog.bite(new Person("吕洞宾"));
    }
}
